package com.zking.ssm.mapper;

import com.zking.ssm.model.SysMenu;

import java.util.ArrayList;
import java.util.List;

public interface SysMenuMapper {
    int deleteByPrimaryKey(Long menuId);

    int insert(SysMenu record);

    int insertSelective(SysMenu record);

    SysMenu selectByPrimaryKey(Long menuId);

    int updateByPrimaryKeySelective(SysMenu record);

    int updateByPrimaryKey(SysMenu record);

    //查询指定用户拥有的一级菜单
    List<SysMenu> userMenuList(SysMenu sysMenu);

    //查询指定用户拥有的子菜单菜单
    List<SysMenu> userTowMenuList(SysMenu sysMenu);

    //查询指定菜单的子菜单
    List<SysMenu> menuList(SysMenu sysMenu);

    //查询指定角色拥有的所有菜单
    List<SysMenu> list(SysMenu sysMenu);

    //查询指定角色拥有的一级菜单
    List<SysMenu> roleMenu(SysMenu sysMenu);

    //查询指定角色未拥有的一级菜单
    List<SysMenu> noRoleMenu(SysMenu sysMenu);

    //给角色分配菜单
    int addMenuToRole(SysMenu sysMenu);

    //从角色撤销菜单
    int removeMenuToRole(SysMenu sysMenu);

    //查询指定菜单的父菜单是否在桥接表中存在
    Long SelectHas(SysMenu sysMenu);

    //查询所有的一级菜单的
    List<SysMenu> listAll(SysMenu sysMenu);

}